import request from '@/utils/request'

// 查询排课约束条件模板列表
export function listConstraintTemplate(query) {
  return request({
    url: '/jwgl/constraintTemplate/list',
    method: 'get',
    params: query
  })
}

// 查询排课约束条件模板详细
export function getConstraintTemplate(id) {
  return request({
    url: '/jwgl/constraintTemplate/' + id,
    method: 'get'
  })
}

// 新增排课约束条件模板
export function addConstraintTemplate(data) {
  return request({
    url: '/jwgl/constraintTemplate',
    method: 'post',
    data: data
  })
}

// 修改排课约束条件模板
export function updateConstraintTemplate(data) {
  return request({
    url: '/jwgl/constraintTemplate',
    method: 'put',
    data: data
  })
}

// 删除排课约束条件模板
export function delConstraintTemplate(ids) {
  return request({
    url: '/jwgl/constraintTemplate/' + ids,
    method: 'delete'
  })
}

// 导出排课约束条件模板
export function exportConstraintTemplate(query) {
  return request({
    url: '/jwgl/constraintTemplate/export',
    method: 'post',
    data: query
  })
}

// 获取默认模板
export function getDefaultTemplates() {
  return request({
    url: '/jwgl/constraintTemplate/default',
    method: 'get'
  })
}

// 设置默认模板
export function setDefaultTemplate(id) {
  return request({
    url: '/jwgl/constraintTemplate/setDefault/' + id,
    method: 'put'
  })
}

// 初始化约束条件
export function initConstraints(data) {
  return request({
    url: '/jwgl/constraintTemplate/initConstraints',
    method: 'post',
    data: data
  })
}

// 应用默认模板
export function applyDefaultTemplate(semester) {
  return request({
    url: '/jwgl/constraintTemplate/applyDefault/' + semester,
    method: 'post'
  })
}

// 复制模板
export function copyTemplate(sourceId, data) {
  return request({
    url: '/jwgl/constraintTemplate/copy/' + sourceId,
    method: 'post',
    data: data
  })
}

// 根据模板名称查询
export function getByTemplateName(templateName) {
  return request({
    url: '/jwgl/constraintTemplate/name/' + templateName,
    method: 'get'
  })
}